main(List<String> args) {
  // 闭包

  // 把方法看作class对象，更容易理解
  var func = a();
  func();
  func();
  func();
  func();

  // print(a.count);
}

a() {
  int count = 0;
  printCount() {
    print(count++);
  }

  return printCount;
}

/**
 * 闭包是一个方法（对象）
 * 闭包定义在其他方法内部
 * 闭包能够访问外部方法内的局部变量，并持有其状态
 */
